home *** CD-ROM | disk | FTP | other *** search
/ Aminet 8 / Aminet 8 (1995)(GTI - Schatztruhe)[!][Oct 1995].iso / Aminet / util / batch / BGUIMenu.lha / Examples / Unpack < prev    next >
AmigaDOS Script File  |  1995-09-02  |  3KB  |  109 lines

  1. .KEY source/k,dest/k,label/k
  2. .DEF source "dh1:telecom/downloads/"
  3. .DEF dest "ram:"
  4. .DEF label FirstMenu
  5. ;
  6. failat 20
  7. skip <label>
  8. ; -------------------------------------------------------------------------
  9. ; This is a script using BGUIMenu. It allows you to select an 
  10. ; archive program (LHA, Zoo, etc.) and a file to unpack.
  11. ;
  12. ; format: execute unpack (SOURCE SourceDir) (DEST DestDir)
  13. : note: if the source or destination are subdirectories they must end
  14. ;       with a "/"
  15. ; -------------------------------------------------------------------------
  16. lab FirstMenu
  17. ;
  18. ; show archive programs menu
  19. ;    'unpack.menu1' contains the menu definition
  20. ;    'selection1' is the environment variable which will equal the
  21. ;        user's choice
  22. ;
  23. BGUIMenu s:unpack.menu1 v selection1
  24. if $selection1 eq 1
  25.    quit   ;user selected Quit from menu
  26. endif
  27. if $selection1 eq 2
  28.    Pkazip
  29.    skip SKIPFIRST
  30. endif
  31. ;
  32. ; If choice 3, 4 or 5 build a menu of available files.
  33. ; An error will occur if there are more files than can be displayed on
  34. ; the menu.
  35. ;
  36. Setenv dcsource <source>
  37. cd <source>
  38. if $selection1 eq 3   ;display menu of #?.lha
  39.    echo >ram:dir.menu "TITLE Directory of LHA files"
  40.     echo >>ram:dir.menu "TITLE Choose a file to unpack"
  41. ;    echo >>ram:dir.menu "DEFAULTKEY"
  42.     echo >>ram:dir.menu "QUITMENU"
  43.    echo >>ram:dir.menu "COLS 3"
  44.     echo >>ram:dir.menu "MENU Never mind"
  45.     echo >>ram:dir.menu "EXEC"
  46.     list >>ram:dir.menu #?.lha LFORMAT="MENU %s"
  47.     list >>ram:dir.menu #?.lha LFORMAT="EXEC SetEnv dcfile %s"
  48.     setenv dcmethod LhA
  49.     setenv dcstring " -x -m -a e "
  50. endif
  51. if $selection1 eq 4   ;display menu of #?.zoo
  52.    echo >ram:dir.menu "TITLE Directory of ZOO files"
  53.     echo >>ram:dir.menu "TITLE Choose a file to unpack"
  54. ;    echo >>ram:dir.menu "DEFAULTKEY"
  55.     echo >>ram:dir.menu "QUITMENU"
  56.    echo >>ram:dir.menu "COLS 3"
  57.     echo >>ram:dir.menu "MENU Never mind"
  58.     echo >>ram:dir.menu "EXEC"
  59.     list >>ram:dir.menu #?.zoo LFORMAT="MENU %s"
  60.     list >>ram:dir.menu #?.zoo LFORMAT="EXEC SetEnv dcfile %s"
  61.     setenv dcmethod Zoo
  62.     setenv dcstring " e "
  63. endif
  64. if $selection1 eq 5   ;display menu of #?.arc
  65.    echo >ram:dir.menu "TITLE Directory of ARC files"
  66.    echo >>ram:dir.menu "TITLE Choose a file to unpack"
  67. ;    echo >>ram:dir.menu "DEFAULTKEY"
  68.     echo >>ram:dir.menu "QUITMENU"
  69.    echo >>ram:dir.menu "COLS 3"
  70.     echo >>ram:dir.menu "MENU Never mind"
  71.     echo >>ram:dir.menu "EXEC"
  72.     list >>ram:dir.menu #?.arc LFORMAT="MENU %s"
  73.     list >>ram:dir.menu #?.arc LFORMAT="EXEC SetEnv dcfile %s"
  74.     setenv dcmethod Arc
  75.     setenv dcstring " e "
  76. endif
  77. ;
  78. lab SecondMenu
  79. ;
  80. ; show file names menu
  81. ;    'dir.menu' contains the menu definition
  82. ;    'selection2' is the environment variable which will equal the
  83. ;        user's choice
  84.  
  85. BGUImenu ram:dir.menu v=selection2
  86. if ERROR
  87.    echo "Too many files to display on menu."
  88.     quit
  89. endif
  90. if $selection2 eq 1        ;never mind was chosen
  91.     skip SKIPFIRST
  92. endif
  93. ;
  94. ;  create single line script to execute selected program with parameters
  95. ;
  96. join env:dcmethod env:dcstring env:dcsource env:dcfile AS ram:temp
  97. cd <dest>
  98. execute ram:temp
  99. skip SKIPSECOND
  100. ;
  101. ;  since you can't skip backwards, re-execute this script with a label name
  102. ;
  103. lab SKIPSECOND
  104. execute unpack SOURCE <source> DEST <dest> LABEL SecondMenu
  105. quit
  106. lab SKIPFIRST
  107. execute unpack SOURCE <source> DEST <dest>
  108. quit
  109.